home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 3.4 KB | 114 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWSclBar.h
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWSCLBAR_H
- #define FWSCLBAR_H
-
- #ifndef FWCONTRL_H
- #include "FWContrl.h"
- #endif
-
- #ifndef FWRUNTYP_H
- #include "FWRunTyp.h"
- #endif
-
- #ifndef FWNOTIFR_H
- #include "FWNotifr.h"
- #endif
-
- #ifndef FWNOTIFN_H
- #include "FWNotifn.h"
- #endif
-
- #ifndef FWPRIDEB_H
- #include "FWPriDeb.h"
- #endif
-
- //========================================================================================
- // Foward class declarations
- //========================================================================================
-
- class FW_CViewContext;
- class FW_CActivateEvent;
- class FW_CPrivBaseScroller;
-
- //========================================================================================
- // CLASS FW_CScrollBar
- //========================================================================================
-
- class FW_CScrollBar : public FW_CNativeControl
- {
- // ----- Constants
- public:
- FW_DECLARE_AUTO(FW_CScrollBar)
-
- enum { kDefaultScrollMin = 0, kDefaultScrollMax = 100, kDefaultScrollPos = 0 };
-
- // ----- Initialization/destruction
- FW_DECLARE_CLASS
-
- FW_CScrollBar(Environment* ev,
- FW_CSuperView* container,
- const FW_CRect& bounds,
- ODID id);
- FW_CScrollBar(Environment* ev);
- virtual ~FW_CScrollBar();
-
- // ----- Inherited API
- virtual void DoActivateEvent(Environment *ev, const FW_CActivateEvent& theActivateEvent);
- virtual void ControlClicked(Environment *ev, FW_ControlValue value, ODFacet* facet);
-
- // ----- New API
- virtual void SetMinorScrollUnits(Environment *ev, FW_Fixed units);
- FW_Fixed GetMinorScrollUnits(Environment *ev) const;
-
- virtual void SetMajorScrollUnits(Environment *ev, FW_Fixed units);
- FW_Fixed GetMajorScrollUnits(Environment *ev) const;
-
- virtual void SetScrollMax(Environment *ev, FW_Fixed units);
- FW_Fixed GetScrollMax(Environment *ev) const;
-
- virtual void SetScrollMin(Environment *ev, FW_Fixed units);
- FW_Fixed GetScrollMin(Environment *ev) const;
-
- virtual void SetScrollPos(Environment *ev, FW_Fixed units);
- virtual void SetScrollPos(Environment *ev, FW_Fixed range, FW_Fixed pos);
- FW_Fixed GetScrollPos(Environment *ev) const;
-
- void ScrollPositionChanged(Environment *ev, FW_Fixed delta,
- FW_Boolean shouldlScroll = TRUE);
-
- static FW_CPoint GetDefaultScrollBarSize();
-
- FW_XYSelector ScrollingDirection(Environment *ev) const;
-
- // ----- Archiving -----
- static void* Create(FW_CReadableStream& stream, FW_ClassTypeConstant type);
- static void Destroy(void* object, FW_ClassTypeConstant type);
- virtual void Flatten(Environment*ev, FW_CWritableStream& stream) const;
- virtual void InitializeFromStream(Environment*ev, FW_CReadableStream& stream);
-
- // ----- Internal API -----
- void PrivAttachToScroller(Environment*ev, FW_CPrivBaseScroller* scroller);
-
- protected:
- // ----- Internal use only
- virtual FW_Boolean PrivSetValue(Environment* ev, FW_ControlValue value, ODFacet* facet);
-
- private:
- void Initialize(Environment *ev, FW_ControlValue value,
- FW_ControlValue min,FW_ControlValue max);
- private:
- FW_Fixed fMinorScrollUnits;
- FW_Fixed fMajorScrollUnits;
- FW_CPrivBaseScroller* fScroller;
- };
-
- #endif
-